Ext.define('TongBaoForm', {
	extend : 'Ext.window.Window',
	id : 'TongBaoForm',
	layout : 'fit',
	modal : true,
	title : '通报详情',
	height : 600,
	width : 800,
	maximizable : true,
	buttonAlign : 'center',

	initComponent : function() {
		this.formPanel = new Ext.form.Panel({
			layout : {
				type : 'table',
				columns : 2
			},
			bodyStyle : 'padding:10px',
			border : true,
			autoScroll : true,
			defaults : {
				labelWidth : 100,
				width : '100%',
				labelAlign : 'right',
				allowBlank : false,
				xtype : 'textfield'
			},
			items : [{
						fieldLabel : '标题',
						name : 'tongBao.title',
						colspan : 2
					}, {
						fieldLabel : '通报内容',
						name : 'tongBao.content',
						xtype : 'textarea',
						height: 120,
						colspan : 2
					}, {
						fieldLabel : '接收单位',
						xtype : 'fieldcontainer',
						layout : 'hbox',
						colspan : 2,
						items : [{
									xtype : 'textarea',
									readOnly : true,
									allowBlank : false,
									width : 590,
									name : 'tongBao.recDepNames'
								}, {
									margin : '0 0 0 5',
									xtype : 'button',
									text : '选 择',
									scope : this,
									iconCls : 'btn-select',
									handler : function() {
										var fp = this.formPanel;
										var depIds = fp.getCmpByName('tongBao.recDepIds').getValue();
										var depNames = fp.getCmpByName('tongBao.recDepNames').getValue();
										DepSelector.getView(function(ids, names) {
													fp.getCmpByName('tongBao.recDepIds').setValue(ids);
													fp.getCmpByName('tongBao.recDepNames').setValue(names);
												}, false, depIds, depNames).show();
									}
								}]
					}, {
						fieldLabel : '过期时间',
						xtype : 'fieldcontainer',
						allowBlank : true,
						layout : 'hbox',
						colspan : 2,
						items : [{
									allowBlank : true,
									name : 'tongBao.expTime',
									xtype : 'datefield',
									format : 'Y-m-d'
								}, {
									xtype : 'container',
									margin : '0 0 0 5',
									html : '<font color="red">为空时，表示永不过期。</font>'
								}]
					}, {
						fieldLabel : '序号',
						name : 'tongBao.sn',
						allowBlank : false,
						xtype: 'numberfield',
						minValue: 0,
						value: 10,
						decimalPrecision: 0
					}, {
						fieldLabel : '状态',
						name : 'tongBao.status',
						xtype : 'combo',
						mode : 'local',
						editable : false,
						triggerAction : 'all',
						store : [['0', '禁用'], ['1', '激活']],
						value : 1
					}, {
						xtype : 'fieldcontainer',
						fieldLabel : '接收范围',
						allowBlank : true,
						colspan : 2,
						defaultType : 'checkboxfield',
						items : [{
									boxLabel : '包含所有上级单位',
									name : 'tongBao.upDeptShow',
									inputValue : '1'
								}, {
									boxLabel : '包含所有下级单位',
									name : 'tongBao.downDeptShow',
									inputValue : '1'
								}]
					}, {
						xtype : 'attachpanel',
						name : 'fileAttachPanel',
						allowBlank : true,
						fieldLabel : '附件',
						height : 150,
						gridWidth : 510,
						fileCat : 'tongbao',
						style : 'text-align: right',
						colspan : 2
					}, {
						xtype : 'hidden',
						name : 'tongBao.fileIds'
					}, {
						xtype : 'hidden',
						name : 'tongBao.fileNames'
					}, {
						name : 'tongBao.recDepIds',
						xtype : 'hidden'
					}, {
						name : 'tongBao.oid',
						xtype : 'hidden',
						value : this.oid == null ? '' : this.oid
					}]
		});

		this.buttons = [{
					text : '保存',
					iconCls : 'btn-save',
					scope : this,
					handler : this.save
				}, {
					text : '关闭',
					iconCls : 'btn-cancel',
					scope : this,
					handler : this.cancel
				}];

		this.items = [this.formPanel];
		this.callParent();

		// 加载表单对应的数据
		if (this.sid) {
			this.formPanel.loadData({
				url : __ctxPath + '/comm/getTongBao.do?oid=' + this.sid,
				root : 'data',
				preName : 'tongBao',
				scope: this,
				success: function(data) {
					var up = this.formPanel.getCmpByName('tongBao.upDeptShow');
					if(data.upDeptShow == 1) {
						up.setValue(true);
					}
					var down = this.formPanel.getCmpByName('tongBao.downDeptShow');
					if(data.downDeptShow == 1) {
						down.setValue(true);
					}
					// 加载附件
					var attachPanel = this.formPanel.getCmpByName('fileAttachPanel');
					var fileIds = this.formPanel.getCmpByName('tongBao.fileIds').getValue();
					attachPanel.loadByIds(fileIds);
				}
			});
		}
	},
	// 取消
	cancel : function() {
		this.close();
	},
	// 保存记录
	save : function() {
		var attachPanel = this.formPanel.getCmpByName('fileAttachPanel');
		this.formPanel.getCmpByName('tongBao.fileIds').setValue(attachPanel.getFileIds());
		this.formPanel.getCmpByName('tongBao.fileNames').setValue(attachPanel.getFileNames());
		$postForm({
					formPanel : this.formPanel,
					scope : this,
					url : __ctxPath + '/comm/saveTongBao.do',
					callback : function(fp, action) {
						var gridPanel = Ext.getCmp('TongBaoGrid');
						if (gridPanel != null) {
							gridPanel.getStore().reload();
						}
						// 刷新个人桌面
						if(Ext.getCmp('AppHome_tongbao') != null) {
							Ext.getCmp('AppHome_tongbao').getLoader().load();
						}
						this.close();
					}
				});
	}
	
});
